home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / os2 / ooxdb200.zip / ooxfield.xh < prev    next >
Text File  |  1996-11-13  |  23KB  |  830 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: ooxfield.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. #ifndef SOM_ooxfield_xh
  11. #define SOM_ooxfield_xh
  12.  
  13. class ooxfield;
  14.  
  15. #define ooxfield_MajorVersion 0
  16. #define ooxfield_MinorVersion 0
  17.  
  18. /* C++ SOM defs */
  19. #include <somcls.xh>
  20. #include <somcm.xh>
  21.  
  22. /* C++ parent defs */
  23. #ifndef SOM_SOMObject_xh
  24. #include <somobj.xh>
  25. #endif
  26.  
  27. #ifndef ooxfield_API
  28. #define ooxfield_API
  29. /*
  30.  * -- The Class API
  31.  */
  32.  
  33. /*
  34.  * Start of bindings for IDL types
  35.  */
  36.  
  37. class SOMClass;
  38. class SOMObject;
  39.  
  40. /*
  41.  * End of bindings for IDL types.
  42.  */
  43.  
  44. /* A procedure to create the ooxfield Class */
  45. SOMEXTERN SOMClass * SOMLINK ooxfieldNewClass(
  46.         integer4 majorVersion,
  47.         integer4 minorVersion);
  48.  
  49. /* The API to the ooxfield class object, and the methods it introduces. */
  50. SOMEXTERN struct ooxfieldClassDataStructure {
  51.     SOMClass *classObject;
  52.     somMToken get_type;
  53.     somMToken get_length;
  54.     somMToken get_dec_point;
  55.     somMToken get_name;
  56.     somMToken get;
  57.     somMToken put;
  58. } SOMDLINK ooxfieldClassData;
  59. #define _ooxfield ooxfieldClassData.classObject
  60.  
  61. /* The API to parentMtabs for ooxfield, and the instance data it introduces. */
  62. SOMEXTERN struct ooxfieldCClassDataStructure {
  63.     somMethodTabs parentMtab;
  64.     somDToken              instanceDataToken;
  65. } SOMDLINK ooxfieldCClassData;
  66.  
  67. /*
  68.  * -- Typedefs for ooxfield Method Procedures
  69.  */
  70. SOMEXTERN {
  71. typedef string   SOMLINK somTP_ooxfield_get_name(ooxfield *somSelf);
  72. typedef somTP_ooxfield_get_name *somTD_ooxfield_get_name;
  73. typedef string   SOMLINK somTP_ooxfield_get(ooxfield *somSelf);
  74. typedef somTP_ooxfield_get *somTD_ooxfield_get;
  75. typedef long   SOMLINK somTP_ooxfield_put(ooxfield *somSelf, 
  76.         string datum);
  77. typedef somTP_ooxfield_put *somTD_ooxfield_put;
  78. typedef char   SOMLINK somTP_ooxfield_get_type(ooxfield *somSelf);
  79. typedef somTP_ooxfield_get_type *somTD_ooxfield_get_type;
  80. typedef short   SOMLINK somTP_ooxfield_get_length(ooxfield *somSelf);
  81. typedef somTP_ooxfield_get_length *somTD_ooxfield_get_length;
  82. typedef short   SOMLINK somTP_ooxfield_get_dec_point(ooxfield *somSelf);
  83. typedef somTP_ooxfield_get_dec_point *somTD_ooxfield_get_dec_point;
  84.  
  85. /*
  86.  * -- Typedefs for Reintroduced Wrapper Methods
  87.  */
  88. typedef void   SOMLINK somTP_ooxfield_somDefaultInit(ooxfield *somSelf, 
  89.         som3InitCtrl* ctrl);
  90. typedef somTP_ooxfield_somDefaultInit *somTD_ooxfield_somDefaultInit;
  91. typedef void   SOMLINK somTP_ooxfield_somDestruct(ooxfield *somSelf, 
  92.         octet doFree, 
  93.         som3DestructCtrl* ctrl);
  94. typedef somTP_ooxfield_somDestruct *somTD_ooxfield_somDestruct;
  95. typedef void   SOMLINK somTP_ooxfield_somDefaultCopyInit(ooxfield *somSelf, 
  96.         som3InitCtrl* ctrl, 
  97.         SOMObject* fromObj);
  98. typedef somTP_ooxfield_somDefaultCopyInit *somTD_ooxfield_somDefaultCopyInit;
  99. typedef ooxfield*   SOMLINK somTP_ooxfield_somDefaultAssign(ooxfield *somSelf, 
  100.         som3AssignCtrl* ctrl, 
  101.         SOMObject* fromObj);
  102. typedef somTP_ooxfield_somDefaultAssign *somTD_ooxfield_somDefaultAssign;
  103. typedef void   SOMLINK somTP_ooxfield_somDefaultConstCopyInit(ooxfield *somSelf, 
  104.         som3InitCtrl* ctrl, 
  105.         SOMObject* fromObj);
  106. typedef somTP_ooxfield_somDefaultConstCopyInit *somTD_ooxfield_somDefaultConstCopyInit;
  107. typedef void   SOMLINK somTP_ooxfield_somDefaultVCopyInit(ooxfield *somSelf, 
  108.         som3InitCtrl* ctrl, 
  109.         SOMObject* fromObj);
  110. typedef somTP_ooxfield_somDefaultVCopyInit *somTD_ooxfield_somDefaultVCopyInit;
  111. typedef void   SOMLINK somTP_ooxfield_somDefaultConstVCopyInit(ooxfield *somSelf, 
  112.         som3InitCtrl* ctrl, 
  113.         SOMObject* fromObj);
  114. typedef somTP_ooxfield_somDefaultConstVCopyInit *somTD_ooxfield_somDefaultConstVCopyInit;
  115. typedef ooxfield*   SOMLINK somTP_ooxfield_somDefaultConstAssign(ooxfield *somSelf, 
  116.         som3AssignCtrl* ctrl, 
  117.         SOMObject* fromObj);
  118. typedef somTP_ooxfield_somDefaultConstAssign *somTD_ooxfield_somDefaultConstAssign;
  119. typedef ooxfield*   SOMLINK somTP_ooxfield_somDefaultVAssign(ooxfield *somSelf, 
  120.         som3AssignCtrl* ctrl, 
  121.         SOMObject* fromObj);
  122. typedef somTP_ooxfield_somDefaultVAssign *somTD_ooxfield_somDefaultVAssign;
  123. typedef ooxfield*   SOMLINK somTP_ooxfield_somDefaultConstVAssign(ooxfield *somSelf, 
  124.         som3AssignCtrl* ctrl, 
  125.         SOMObject* fromObj);
  126. typedef somTP_ooxfield_somDefaultConstVAssign *somTD_ooxfield_somDefaultConstVAssign;
  127. typedef void   SOMLINK somTP_ooxfield_somInit(ooxfield *somSelf);
  128. typedef somTP_ooxfield_somInit *somTD_ooxfield_somInit;
  129. typedef void   SOMLINK somTP_ooxfield_somFree(ooxfield *somSelf);
  130. typedef somTP_ooxfield_somFree *somTD_ooxfield_somFree;
  131. typedef void   SOMLINK somTP_ooxfield_somUninit(ooxfield *somSelf);
  132. typedef somTP_ooxfield_somUninit *somTD_ooxfield_somUninit;
  133. typedef SOMClass*   SOMLINK somTP_ooxfield_somGetClass(ooxfield *somSelf);
  134. typedef somTP_ooxfield_somGetClass *somTD_ooxfield_somGetClass;
  135. typedef string   SOMLINK somTP_ooxfield_somGetClassName(ooxfield *somSelf);
  136. typedef somTP_ooxfield_somGetClassName *somTD_ooxfield_somGetClassName;
  137. typedef long   SOMLINK somTP_ooxfield_somGetSize(ooxfield *somSelf);
  138. typedef somTP_ooxfield_somGetSize *somTD_ooxfield_somGetSize;
  139. typedef boolean   SOMLINK somTP_ooxfield_somIsA(ooxfield *somSelf, 
  140.         SOMClass* aClassObj);
  141. typedef somTP_ooxfield_somIsA *somTD_ooxfield_somIsA;
  142. typedef boolean   SOMLINK somTP_ooxfield_somIsInstanceOf(ooxfield *somSelf, 
  143.         SOMClass* aClassObj);
  144. typedef somTP_ooxfield_somIsInstanceOf *somTD_ooxfield_somIsInstanceOf;
  145. typedef boolean   SOMLINK somTP_ooxfield_somRespondsTo(ooxfield *somSelf, 
  146.         somId mId);
  147. typedef somTP_ooxfield_somRespondsTo *somTD_ooxfield_somRespondsTo;
  148. typedef boolean   SOMLINK somTP_ooxfield_somDispatch(ooxfield *somSelf, 
  149.         somToken* retValue, 
  150.         somId methodId, 
  151.         va_list ap);
  152. typedef somTP_ooxfield_somDispatch *somTD_ooxfield_somDispatch;
  153. typedef boolean   SOMLINK somTP_ooxfield_somClassDispatch(ooxfield *somSelf, 
  154.         SOMClass* clsObj, 
  155.         somToken* retValue, 
  156.         somId methodId, 
  157.         va_list ap);
  158. typedef somTP_ooxfield_somClassDispatch *somTD_ooxfield_somClassDispatch;
  159. typedef boolean   SOMLINK somTP_ooxfield_somCastObj(ooxfield *somSelf, 
  160.         SOMClass* cls);
  161. typedef somTP_ooxfield_somCastObj *somTD_ooxfield_somCastObj;
  162. typedef boolean   SOMLINK somTP_ooxfield_somResetObj(ooxfield *somSelf);
  163. typedef somTP_ooxfield_somResetObj *somTD_ooxfield_somResetObj;
  164. typedef void   SOMLINK somTP_ooxfield_somDispatchV(ooxfield *somSelf, 
  165.         somId methodId, 
  166.         somId descriptor, 
  167.         va_list ap);
  168. typedef somTP_ooxfield_somDispatchV *somTD_ooxfield_somDispatchV;
  169. typedef long   SOMLINK somTP_ooxfield_somDispatchL(ooxfield *somSelf, 
  170.         somId methodId, 
  171.         somId descriptor, 
  172.         va_list ap);
  173. typedef somTP_ooxfield_somDispatchL *somTD_ooxfield_somDispatchL;
  174. typedef void*   SOMLINK somTP_ooxfield_somDispatchA(ooxfield *somSelf, 
  175.         somId methodId, 
  176.         somId descriptor, 
  177.         va_list ap);
  178. typedef somTP_ooxfield_somDispatchA *somTD_ooxfield_somDispatchA;
  179. typedef double   SOMLINK somTP_ooxfield_somDispatchD(ooxfield *somSelf, 
  180.         somId methodId, 
  181.         somId descriptor, 
  182.         va_list ap);
  183. typedef somTP_ooxfield_somDispatchD *somTD_ooxfield_somDispatchD;
  184. typedef SOMObject*   SOMLINK somTP_ooxfield_somPrintSelf(ooxfield *somSelf);
  185. typedef somTP_ooxfield_somPrintSelf *somTD_ooxfield_somPrintSelf;
  186. typedef void   SOMLINK somTP_ooxfield_somDumpSelf(ooxfield *somSelf, 
  187.         long level);
  188. typedef somTP_ooxfield_somDumpSelf *somTD_ooxfield_somDumpSelf;
  189. typedef void   SOMLINK somTP_ooxfield_somDumpSelfInt(ooxfield *somSelf, 
  190.         long level);
  191. typedef somTP_ooxfield_somDumpSelfInt *somTD_ooxfield_somDumpSelfInt;
  192. }
  193.  
  194. #endif /* ooxfield_API */
  195.  
  196.  
  197. /*
  198.  * -- This emitter treats Method Tokens as Thunks by default.
  199.  * -- Use the sc modifier "nothunks" to change this default
  200.  */
  201. #undef somresolve_
  202. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  203.  
  204. /*
  205.  * -- The C++ Wrapper Class for ooxfield
  206.  */
  207. class ooxfield : public SOMObject
  208. {
  209. public:
  210.  
  211. // ooxfield::new creates the class object if necessary, and then uses somNewNoInit
  212. // to allocate memory and create the object. Initialization is in ctors.
  213. void *operator new(size_t)
  214. {
  215.    if (!_ooxfield) ooxfieldNewClass(ooxfield_MajorVersion,ooxfield_MinorVersion);
  216.    return (void*)
  217.       SOM_Resolve(_ooxfield,SOMClass,somNewNoInit)
  218.          ((SOMClass *)((void*)_ooxfield));
  219. }
  220.  
  221. // ooxfield::delete uses somDestruct.
  222. void operator delete(void * obj)
  223. {
  224.    if (obj && *(void**)obj) {
  225.       SOM_Resolve(obj,SOMObject,somFree)
  226.          ((SOMObject*)obj);
  227.    }
  228. }
  229.  
  230. ooxfield& operator=(ooxfield& fromObj)
  231. {
  232.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  233.    return *this;
  234. }
  235.  
  236. ooxfield()
  237. {
  238.    if (*(void**)this != 
  239.        ((somParentMtabStructPtr)
  240.         (ooxfieldCClassData.parentMtab))->mtab)
  241.       return;
  242.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  243. }
  244.  
  245. ooxfield(ooxfield* fromObj)
  246. {
  247.    if (*(void**)this != 
  248.        ((somParentMtabStructPtr)
  249.         (ooxfieldCClassData.parentMtab))->mtab)
  250.       return;
  251.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  252. }
  253.  
  254. #ifdef __IBMCPP__
  255. #pragma info(nocnv,nopar)
  256. #endif
  257. ooxfield(const ooxfield* fromObj)
  258. {
  259.    if (*(void**)this != 
  260.        ((somParentMtabStructPtr)
  261.         (ooxfieldCClassData.parentMtab))->mtab)
  262.       return;
  263.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  264. }
  265. #ifdef __IBMCPP__
  266. #pragma info(restore)
  267. #endif
  268.  
  269.  
  270. /* method: get_name */
  271. string   get_name()
  272. {
  273.    return SOM_ResolveD(this,ooxfield,ooxfield,get_name)
  274.     (this);
  275. }
  276.  
  277.  
  278. /* method: get */
  279. string   get()
  280. {
  281.    return SOM_ResolveD(this,ooxfield,ooxfield,get)
  282.     (this);
  283. }
  284.  
  285.  
  286. /* method: put */
  287. long   put(string datum)
  288. {
  289.    return SOM_ResolveD(this,ooxfield,ooxfield,put)
  290.     (this,datum);
  291. }
  292.  
  293.  
  294. /* method: get_type */
  295. char   get_type()
  296. {
  297.    return SOM_ResolveD(this,ooxfield,ooxfield,get_type)
  298.     (this);
  299. }
  300.  
  301.  
  302. /* method: get_length */
  303. short   get_length()
  304. {
  305.    return SOM_ResolveD(this,ooxfield,ooxfield,get_length)
  306.     (this);
  307. }
  308.  
  309.  
  310. /* method: get_dec_point */
  311. short   get_dec_point()
  312. {
  313.    return SOM_ResolveD(this,ooxfield,ooxfield,get_dec_point)
  314.     (this);
  315. }
  316.  
  317.  
  318. /*
  319.  * Reintroduce inherited methods
  320.  */
  321.  
  322. /* initializer method: somDefaultInit */
  323. void   somDefaultInit(som3InitCtrl* ctrl)
  324. {
  325. /*
  326.  *  A default initializer for a SOM object. Passing a null ctrl
  327.  *  indicates to the receiver that its class is the class of the
  328.  *  object being initialized, whereby the initializer will determine
  329.  *  an appropriate control structure.
  330.  */
  331.    SOM_ResolveD(this,ooxfield,SOMObject,somDefaultInit)
  332.     (this,ctrl);
  333. }
  334.  
  335.  
  336. /* method: somDestruct */
  337. void   somDestruct(octet doFree, 
  338.         som3DestructCtrl* ctrl)
  339. {
  340. /*
  341.  *  The default destructor for a SOM object. A nonzero <doFree>
  342.  *  indicates that the object storage should be freed by the
  343.  *  object's class (via somDeallocate) after uninitialization.
  344.  *  As with somDefaultInit, a null ctrl can be passed.
  345.  */
  346.    SOM_ResolveD(this,ooxfield,SOMObject,somDestruct)
  347.     (this,doFree,ctrl);
  348. }
  349.  
  350.  
  351. /* initializer method: somDefaultCopyInit */
  352. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  353.         SOMObject* fromObj)
  354. {
  355. /*
  356.  *  A default copy constructor. Use this to make copies of objects for
  357.  *  calling methods with "by-value" argument semantics.
  358.  */
  359.    SOM_ResolveD(this,ooxfield,SOMObject,somDefaultCopyInit)
  360.     (this,ctrl,fromObj);
  361. }
  362.  
  363.  
  364. /* method: somDefaultAssign */
  365. ooxfield*  somDefaultAssign(som3AssignCtrl* ctrl, 
  366.         SOMObject* fromObj)
  367. {
  368. /*
  369.  *  A default assignment operator. Use this to "assign" the state of one
  370.  *  object to another.
  371.  */
  372.    return SOM_ResolveD(this,ooxfield,SOMObject,somDefaultAssign)
  373.     (this,ctrl,fromObj);
  374. }
  375.  
  376.  
  377. /* initializer method: somDefaultConstCopyInit */
  378. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  379.         SOMObject* fromObj)
  380. {
  381. /*
  382.  *  A default copy constructor that uses a const fromObj.
  383.  */
  384.    SOM_ResolveD(this,ooxfield,SOMObject,somDefaultConstCopyInit)
  385.     (this,ctrl,fromObj);
  386. }
  387.  
  388.  
  389. /* initializer method: somDefaultVCopyInit */
  390. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  391.         SOMObject* fromObj)
  392. {
  393. /*
  394.  *  A default copy constructor that uses a volatile fromObj.
  395.  */
  396.    SOM_ResolveD(this,ooxfield,SOMObject,somDefaultVCopyInit)
  397.     (this,ctrl,fromObj);
  398. }
  399.  
  400.  
  401. /* initializer method: somDefaultConstVCopyInit */
  402. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  403.         SOMObject* fromObj)
  404. {
  405. /*
  406.  *  A default copy constructor that uses a const volatile fromObj.
  407.  */
  408.    SOM_ResolveD(this,ooxfield,SOMObject,somDefaultConstVCopyInit)
  409.     (this,ctrl,fromObj);
  410. }
  411.  
  412.  
  413. /* method: somDefaultConstAssign */
  414. ooxfield*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  415.         SOMObject* fromObj)
  416. {
  417. /*
  418.  *  A default assignment operator that uses a const fromObj.
  419.  */
  420.    return SOM_ResolveD(this,ooxfield,SOMObject,somDefaultConstAssign)
  421.     (this,ctrl,fromObj);
  422. }
  423.  
  424.  
  425. /* method: somDefaultVAssign */
  426. ooxfield*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  427.         SOMObject* fromObj)
  428. {
  429. /*
  430.  *  A default assignment operator that uses a volatile fromObj.
  431.  */
  432.    return SOM_ResolveD(this,ooxfield,SOMObject,somDefaultVAssign)
  433.     (this,ctrl,fromObj);
  434. }
  435.  
  436.  
  437. /* method: somDefaultConstVAssign */
  438. ooxfield*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  439.         SOMObject* fromObj)
  440. {
  441. /*
  442.  *  A default assignment operator that uses a const volatile fromObj.
  443.  */
  444.    return SOM_ResolveD(this,ooxfield,SOMObject,somDefaultConstVAssign)
  445.     (this,ctrl,fromObj);
  446. }
  447.  
  448.  
  449. /* method: somInit */
  450. void   somInit()
  451. {
  452. /*
  453.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  454.  */
  455.    SOM_ResolveD(this,ooxfield,SOMObject,somInit)
  456.     (this);
  457. }
  458.  
  459.  
  460. /* method: somFree */
  461. void   somFree()
  462. {
  463. /*
  464.  *  Use as directed by framework implementations.
  465.  */
  466.    SOM_ResolveD(this,ooxfield,SOMObject,somFree)
  467.     (this);
  468. }
  469.  
  470.  
  471. /* method: somUninit */
  472. void   somUninit()
  473. {
  474. /*
  475.  *  Obsolete but still supported. Override somDestruct instead of somUninit.
  476.  */
  477.    SOM_ResolveD(this,ooxfield,SOMObject,somUninit)
  478.     (this);
  479. }
  480.  
  481.  
  482. /* method: somGetClass */
  483. SOMClass*   somGetClass()
  484. {
  485. /*
  486.  *  Return the receiver's class.
  487.  */
  488.    return SOM_ResolveD(this,ooxfield,SOMObject,somGetClass)
  489.     (this);
  490. }
  491.  
  492.  
  493. /* method: somGetClassName */
  494. string   somGetClassName()
  495. {
  496. /*
  497.  *  Return the name of the receiver's class.
  498.  */
  499.    return SOM_ResolveD(this,ooxfield,SOMObject,somGetClassName)
  500.     (this);
  501. }
  502.  
  503.  
  504. /* method: somGetSize */
  505. long   somGetSize()
  506. {
  507. /*
  508.  *  Return the size of the receiver.
  509.  */
  510.    return SOM_ResolveD(this,ooxfield,SOMObject,somGetSize)
  511.     (this);
  512. }
  513.  
  514.  
  515. /* method: somIsA */
  516. boolean   somIsA(SOMClass* aClassObj)
  517. {
  518. /*
  519.  *  Returns 1 (true) if the receiver responds to methods
  520.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  521.  */
  522.    return SOM_ResolveD(this,ooxfield,SOMObject,somIsA)
  523.     (this,aClassObj);
  524. }
  525.  
  526.  
  527. /* method: somIsInstanceOf */
  528. boolean   somIsInstanceOf(SOMClass* aClassObj)
  529. {
  530. /*
  531.  *  Returns 1 (true) if the receiver is an instance of
  532.  *  <aClassObj> and 0 (false) otherwise.
  533.  */
  534.    return SOM_ResolveD(this,ooxfield,SOMObject,somIsInstanceOf)
  535.     (this,aClassObj);
  536. }
  537.  
  538.  
  539. /* method: somRespondsTo */
  540. boolean   somRespondsTo(somId mId)
  541. {
  542. /*
  543.  *  Returns 1 (true) if the indicated method can be invoked
  544.  *  on the receiver and 0 (false) otherwise.
  545.  */
  546.    return SOM_ResolveD(this,ooxfield,SOMObject,somRespondsTo)
  547.     (this,mId);
  548. }
  549.  
  550.  
  551. /* va_list method: somDispatch */
  552.  
  553. /*
  554.  *  This method provides a generic, class-specific dispatch mechanism.
  555.  *  It accepts as input <retValue> a pointer to the memory area to be
  556.  *  loaded with the result of dispatching the method indicated by
  557.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  558.  *  on which the method is to be invoked as the first argument.
  559.  */
  560. /* the va_list invocation form */
  561. boolean   ooxfield_somDispatch(somToken* retValue, 
  562.         somId methodId, 
  563.         va_list ap)
  564. {return SOM_ResolveD(this,ooxfield,SOMObject,somDispatch)
  565.     (this,retValue,methodId,ap);
  566. }
  567.  
  568. /* the varargs invocation form */
  569. boolean   somDispatch(somToken* retValue, 
  570.         somId methodId, 
  571.         ...)
  572. {
  573. /*
  574.  *  This method provides a generic, class-specific dispatch mechanism.
  575.  *  It accepts as input <retValue> a pointer to the memory area to be
  576.  *  loaded with the result of dispatching the method indicated by
  577.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  578.  *  on which the method is to be invoked as the first argument.
  579.  */
  580.    va_list ap;
  581.    va_start(ap, methodId);
  582.    boolean __somResult = 
  583.       SOM_ResolveD(this,ooxfield,SOMObject,somDispatch)
  584.     (this,retValue,methodId,ap);
  585.    va_end(ap);
  586.    return __somResult;
  587. }
  588.  
  589.  
  590. /* va_list method: somClassDispatch */
  591.  
  592. /*
  593.  *  Like somDispatch, but method resolution for static methods is done
  594.  *  according to the clsObj instance method table.
  595.  */
  596. /* the va_list invocation form */
  597. boolean   ooxfield_somClassDispatch(SOMClass* clsObj, 
  598.         somToken* retValue, 
  599.         somId methodId, 
  600.         va_list ap)
  601. {return SOM_ResolveD(this,ooxfield,SOMObject,somClassDispatch)
  602.     (this,clsObj,retValue,methodId,ap);
  603. }
  604.  
  605. /* the varargs invocation form */
  606. boolean   somClassDispatch(SOMClass* clsObj, 
  607.         somToken* retValue, 
  608.         somId methodId, 
  609.         ...)
  610. {
  611. /*
  612.  *  Like somDispatch, but method resolution for static methods is done
  613.  *  according to the clsObj instance method table.
  614.  */
  615.    va_list ap;
  616.    va_start(ap, methodId);
  617.    boolean __somResult = 
  618.       SOM_ResolveD(this,ooxfield,SOMObject,somClassDispatch)
  619.     (this,clsObj,retValue,methodId,ap);
  620.    va_end(ap);
  621.    return __somResult;
  622. }
  623.  
  624.  
  625. /* method: somCastObj */
  626. boolean   somCastObj(SOMClass* cls)
  627. {
  628. /*
  629.  *  cast the receiving object to cls (which must be an ancestor of the
  630.  *  objects true class. Returns true on success.
  631.  */
  632.    return SOM_ResolveD(this,ooxfield,SOMObject,somCastObj)
  633.     (this,cls);
  634. }
  635.  
  636.  
  637. /* method: somResetObj */
  638. boolean   somResetObj()
  639. {
  640. /*
  641.  *  reset an object to its true class. Returns true always.
  642.  */
  643.    return SOM_ResolveD(this,ooxfield,SOMObject,somResetObj)
  644.     (this);
  645. }
  646.  
  647.  
  648. /* va_list method: somDispatchV */
  649.  
  650. /*
  651.  *  Obsolete. Use somDispatch instead.
  652.  */
  653. /* the va_list invocation form */
  654. void   ooxfield_somDispatchV(somId methodId, 
  655.         somId descriptor, 
  656.         va_list ap)
  657. {   SOM_ResolveD(this,ooxfield,SOMObject,somDispatchV)
  658.     (this,methodId,descriptor,ap);
  659. }
  660.  
  661. /* the varargs invocation form */
  662. void   somDispatchV(somId methodId, 
  663.         somId descriptor, 
  664.         ...)
  665. {
  666. /*
  667.  *  Obsolete. Use somDispatch instead.
  668.  */
  669.    va_list ap;
  670.    va_start(ap, descriptor);
  671.    SOM_ResolveD(this,ooxfield,SOMObject,somDispatchV)
  672.     (this,methodId,descriptor,ap);
  673.    va_end(ap);
  674. }
  675.  
  676.  
  677. /* va_list method: somDispatchL */
  678.  
  679. /*
  680.  *  Obsolete. Use somDispatch instead.
  681.  */
  682. /* the va_list invocation form */
  683. long   ooxfield_somDispatchL(somId methodId, 
  684.         somId descriptor, 
  685.         va_list ap)
  686. {return SOM_ResolveD(this,ooxfield,SOMObject,somDispatchL)
  687.     (this,methodId,descriptor,ap);
  688. }
  689.  
  690. /* the varargs invocation form */
  691. long   somDispatchL(somId methodId, 
  692.         somId descriptor, 
  693.         ...)
  694. {
  695. /*
  696.  *  Obsolete. Use somDispatch instead.
  697.  */
  698.    va_list ap;
  699.    va_start(ap, descriptor);
  700.    long __somResult = 
  701.       SOM_ResolveD(this,ooxfield,SOMObject,somDispatchL)
  702.     (this,methodId,descriptor,ap);
  703.    va_end(ap);
  704.    return __somResult;
  705. }
  706.  
  707.  
  708. /* va_list method: somDispatchA */
  709.  
  710. /*
  711.  *  Obsolete. Use somDispatch instead.
  712.  */
  713. /* the va_list invocation form */
  714. void*   ooxfield_somDispatchA(somId methodId, 
  715.         somId descriptor, 
  716.         va_list ap)
  717. {return SOM_ResolveD(this,ooxfield,SOMObject,somDispatchA)
  718.     (this,methodId,descriptor,ap);
  719. }
  720.  
  721. /* the varargs invocation form */
  722. void*   somDispatchA(somId methodId, 
  723.         somId descriptor, 
  724.         ...)
  725. {
  726. /*
  727.  *  Obsolete. Use somDispatch instead.
  728.  */
  729.    va_list ap;
  730.    va_start(ap, descriptor);
  731.    void* __somResult = 
  732.       SOM_ResolveD(this,ooxfield,SOMObject,somDispatchA)
  733.     (this,methodId,descriptor,ap);
  734.    va_end(ap);
  735.    return __somResult;
  736. }
  737.  
  738.  
  739. /* va_list method: somDispatchD */
  740.  
  741. /*
  742.  *  Obsolete. Use somDispatch instead.
  743.  */
  744. /* the va_list invocation form */
  745. double   ooxfield_somDispatchD(somId methodId, 
  746.         somId descriptor, 
  747.         va_list ap)
  748. {return SOM_ResolveD(this,ooxfield,SOMObject,somDispatchD)
  749.     (this,methodId,descriptor,ap);
  750. }
  751.  
  752. /* the varargs invocation form */
  753. double   somDispatchD(somId methodId, 
  754.         somId descriptor, 
  755.         ...)
  756. {
  757. /*
  758.  *  Obsolete. Use somDispatch instead.
  759.  */
  760.    va_list ap;
  761.    va_start(ap, descriptor);
  762.    double __somResult = 
  763.       SOM_ResolveD(this,ooxfield,SOMObject,somDispatchD)
  764.     (this,methodId,descriptor,ap);
  765.    va_end(ap);
  766.    return __somResult;
  767. }
  768.  
  769.  
  770. /* method: somPrintSelf */
  771. SOMObject*   somPrintSelf()
  772. {
  773. /*
  774.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  775.  *  information about this object.  The default implementation just gives
  776.  *  the object's class name and its address in memory.
  777.  *  <self> is returned.
  778.  */
  779.    return SOM_ResolveD(this,ooxfield,SOMObject,somPrintSelf)
  780.     (this);
  781. }
  782.  
  783.  
  784. /* method: somDumpSelf */
  785. void   somDumpSelf(long level)
  786. {
  787. /*
  788.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  789.  *  and its current state.
  790.  * 
  791.  *  <level> indicates the nesting level for describing compound objects
  792.  *  it must be greater than or equal to zero.  All lines in the
  793.  *  description will be preceeded by <2*level> spaces.
  794.  * 
  795.  *  This routine only actually writes the data that concerns the object
  796.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  797.  *  the object's current state.  This approach allows readable
  798.  *  descriptions of compound objects to be constructed.
  799.  * 
  800.  *  Generally it is not necessary to override this method, if it is
  801.  *  overriden it generally must be completely replaced.
  802.  */
  803.    SOM_ResolveD(this,ooxfield,SOMObject,somDumpSelf)
  804.     (this,level);
  805. }
  806.  
  807.  
  808. /* method: somDumpSelfInt */
  809. void   somDumpSelfInt(long level)
  810. {
  811. /*
  812.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  813.  *  Generally this method will need to be overridden.  When overriding
  814.  *  it, begin by calling the parent class form of this method and then
  815.  *  write in a description of your class's instance data. This will
  816.  *  result in a description of all the object's instance data going
  817.  *  from its root ancestor class to its specific class.
  818.  */
  819.    SOM_ResolveD(this,ooxfield,SOMObject,somDumpSelfInt)
  820.     (this,level);
  821. }
  822.  
  823.  
  824.  
  825. };   /* ooxfield */
  826.  
  827.  
  828.  
  829. #endif       /* SOM_ooxfield_xh */
  830.